package com.manager;

import java.util.List;



public class BaseService implements IBaseService {
	/**
	 * Dao对象
	 */
	private BaseDao baseDao;

	
	/**
	 * 新增业务方法
	 * @param baseBean
	 */
	public void insertObject(IBaseBean entity){
		this.baseDao.insert(entity);
	}
	
	/**
	 * 获取通过主键ID单个实体
	 * @param IBaseBean
	 * @param Long
	 * @return IBaseBean
	 */
	public IBaseBean getObject(IBaseBean entity, Long pk){
		
		return this.baseDao.queryByPk(entity, pk);
	}
	
	/**
	 * 获取通过主键ID单个实体
	 * @param IBaseBean
	 * @param Long
	 * @return IBaseBean
	 */
	public IBaseBean getObject(IBaseBean entity, Integer pk){
		
		return this.baseDao.queryByPk(entity, pk);
	}
	
	/**
	 * 获取全部业务方法
	 * @param baseBean
	 * @return List<IBaseBean>
	 */
	@SuppressWarnings("unchecked")
	public List<IBaseBean> getAllObject(IBaseBean entity){
		
		return this.baseDao.queryAll(entity);
	} 
	
	/**
	 * 获取专家分类列表方法 
	 * @return List<IBaseBean>
	 */
	@SuppressWarnings("unchecked")
	public List getDicExpertSortList(){ 
		return this.baseDao.getDicExpertSortList();
	}
 
	/**
	 * 分页程序业务方法
	 * 
	 * @param entity
	 *            要查询的实体
	 * @param firstResult
	 *            开始取数据的下标
	 * @param maxResults
	 *            读取数据记录数
	 * @return List<IBaseBean> 结果集
	 */
	public List<IBaseBean> getListForPage(String sql, final int firstResult,
			final int maxResults){
		return this.baseDao.getListForPage(sql, firstResult, maxResults);
	}
    
	/**
	 * 根据sql查询结果
	 * 
	 * @param sql
	 *            sql语句
	 * @return List<IBaseBean> 结果集
	 */
	public List<IBaseBean> getListForPage(String sql){
		return this.baseDao.getListForPage(sql);
	}
	
	public List<IBaseBean> getListForPage(final String sql,List args){
		return this.baseDao.getListForPage(sql,args);
	}
	/**
	 * 更新业务方法
	 * @param baseBean
	 */
	public void updateObject(IBaseBean entity){
		this.baseDao.update(entity);
	}
	
	/**
	 * 删除业务方法
	 * @param baseBean
	 */
	public void deleteObject(IBaseBean entity){
		this.baseDao.delete(entity);
	}
	
	/**
	 * 删除list里的对象数据的业务方法
	 * @param list
	 */
	public void deleteObjectList(List<IBaseBean> list){
		this.baseDao.deleteList(list);
	}
	
	/**
	 * 获取最大ID
	 * @param entity
	 * @param idName
	 * @return
	 */
	public List<IBaseBean> getMaxId(String tableName, String idName){
		return this.baseDao.getMaxId(tableName, idName);
	}
	public List getAid(String Archieved_time,String title) {
		return this.baseDao.getAid(Archieved_time, title);
	}
	/**
	 * 
	* TODO 根据部门角色查询用户
	*  
	* @param oid
	* @param rid
	* @return
	 */
	public String getUserOrgRole(long oid, long rid){
		return this.baseDao.getUserOrgRole(oid, rid);
	}
	// get--set
	/**
	 * @return the baseDao
	 */
	public BaseDao getBaseDao() {
		return baseDao;
	}

	/**
	 * @param baseDao the baseDao to set
	 */
	public void setBaseDao(BaseDao baseDao) {
		this.baseDao = baseDao;
	}

 
	public String findValueByCode(String code){
		return this.baseDao.findValueByCode(code);
	}
 }
 
